From ccd8c76ff2d73215e0785db8568ec500ed7a238d Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Sat, 6 Feb 2016 16:42:25 +0100 Subject: [PATCH] level bar: Fix offset behavior We had some odd special-casing for the lowest and highest offset that did not quite work. The new rule is simple: If the value is between offset n-1 and n, it gets the style for offset n. https://bugzilla.gnome.org/show_bug.cgi?id=761416 --- gtk/gtklevelbar.c | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/gtk/gtklevelbar.c b/gtk/gtklevelbar.c index 6cffd980c9..aed59201b4 100644 --- a/gtk/gtklevelbar.c +++ b/gtk/gtklevelbar.c @@ -652,16 +652,18 @@ update_level_style_classes (GtkLevelBar *self) offset = l->data; /* find the right offset for our style class */ - if ((l->prev == NULL && value <= offset->value) || - (l->next == NULL && value >= offset->value)) + if (value <= offset->value) { - value_class = offset->name; - } - else if (l->prev != NULL) - { - prev_offset = l->prev->data; - if (prev_offset->value <= value && value < offset->value) - value_class = offset->name; + if (l->prev == NULL) + { + value_class = offset->name; + } + else + { + prev_offset = l->prev->data; + if (prev_offset->value < value) + value_class = offset->name; + } } if (value_class) -- 2.30.2